package co.edu.udea.herbario.dao;

import co.edu.udea.herbario.dto.Tipos;

/**
 *Clase de tipo interface que contiene la declaracion de los metodos utilizados para gestionar
 * los datos de la tabla Herb_Tipos entre la persistencia y la logica de la aplicacion
 *
 * @author Alejandro Areiza, Lorena Orozco, Marcela Colorado
 */
public interface TipoDao
{
    /**
	 * Metodo que obtiene desde la tabla Herb_Tipos el elemento referenciado con el nombre indicado
	 * como parametro
	 *
	 * @param tipo es el nombre que identifica al tipo dentro del sistema
	 *
	 * @return retorna un objeto de la clase Tipos
	 */
    public Tipos obtenerTipo(String tipo);

    /**
	 * Metodo para crear un elemento dentro de la tabla Herb_Tipos
	 *
	 * @param tipo es un objeto de la clase Tipos que contiene los datos del elemento que se desea
	 * ingresar en la tabla Herb_Tipos
	 *
	 * @return retorna un entero: res = 1 si se realizo correctamente la creacion, de lo contrario res = -1
	 */
    public int crearTipo(Tipos tipo);

    /**
	 * Metodo para llevar a cabo el proceso de modificacion de los datos asociados a un tipo
	 *
	 * @param tipo es un objeto de la clase Tipos que contiene los datos del elemento que se desea
	 * modificar en la tabla Herb_Tipos
	 *
	 * @return retorna un entero: res = 1 si se realizo correctamente la modificacion, de lo contrario res = -1
	 */
    public int actualizarTipo(Tipos tipo);
}
